var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/persistenciamongoose');

var RegistroSchema = require('./model/Registro');
var DireccionSchema = require('./model/Direccion');
var PersonaSchema = require('./model/Persona');
var EmpresaSchema = require('./model/Empresa');

var Direccion = mongoose.model("Direccion", DireccionSchema);
//var Registro = mongoose.model("Registro", RegistroSchema, 'registros');
var Persona = mongoose.model("Persona", PersonaSchema, 'registros');
var Empresa = mongoose.model("Empresa", EmpresaSchema, 'registros');

//Creo direccion
dire1 = new Direccion();
dire1.direccion = "Calle 1234";
dire1.cp = 1234;
dire1.provincia = "BsAs";

// nueva empresa
emp1 = new Empresa();
emp1.nombre = "Empresa1";
emp1.cuit = 201234569;
emp1.telefonos.push(12345678);
emp1.direcciones.push(dire1);

emp1.save(function (err) {
  if (!err) console.log('Registro grabado!');
});

//Nueva persona
persona1 = new Persona();
persona1.nombre = "Juan";
persona1.apellido = "Lopez";
persona1.nacimiento = new Date('1988-12-30');
persona1.telefonos.push(9999999);
persona1.telefonos.push(4567899);
persona1.direcciones.push({ direccion: 'Calle2', cp: 9999, provincia: 'CBA' });

persona1.save(function(err) {
	if (!err) console.log('Persona1 grabada!');
});

Empresa.findOne({ nombre: "Empresa1"}, function (err, doc){
	doc.print();
});

Persona.findOne({ telefonos: 9999999}, function (err, doc){
	doc.print();
	console.log(doc.nacimiento);
});

Persona.find({ 'direcciones.cp': 9999 }, function (err, docs) {
	for (i in docs) {
		docs[i].print();
	}
});